#pragma once

#include "qlib/all.h"

namespace qbe::squidZline {

// 移动功能流程
enum struct State { None = 0, Wait, Cancel };

// 移动参数 [资源]
struct Param {
  State state = State::None;  // 处于什么流程

  bool tag_select_obj = false;

  qlib::Vec2d dis;

  bool isPointAlign;
  bool haveOnePoint = false;
  qlib::Vec2d pos;

  bool haveOneLine = false;
  qlib::Vec2dArray line;

  double k = 0;
  bool dx_eaual_0 = false;

  void reset() {
    state = State::None;

    tag_select_obj = false;

    dis = qlib::Vec2d(0, 0);

    isPointAlign = true;
    haveOnePoint = false;
    pos = qlib::Vec2d(0, 0);

    haveOneLine = false;
    line.clear();
  }
};

}  // namespace qbe::squidZline